##################################### Руководство по инсталляции фронтенда ##################################### ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Назначение и общий функционал работы с фронтендом ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *Фронтенд (англ. frontend)* Является клиентской стороной пользовательского интерфейса к программно-аппаратной части сервиса. *Бэкенд (англ. backend)* Представляет собой программно-аппаратную часть сервиса, набор средств, с помощью которых происходит реализация логики веб-сайта. Бэкенд для предоставления своих функций реализует API, которые использует фронтенд. Фронт- и бэкенд — это вариант архитектуры программного обеспечения. ~~~~~~~~~~~~~~~~~~~~ Установка фронтенда ~~~~~~~~~~~~~~~~~~~~ .. note:: Можно установить и настроить несколько экземпляров фронтенда. Это требуется, например, для балансировки нагрузки на сервер и формирования отказоустойчивой Системы. Все экземпляры фронтенда устанавливаются аналогично. Для установки фронтенда сначала необходимо установить Docker. Подробнее об установке и настройке Docker можно посмотреть здесь: https://docs.docker.com/get-started/. Если реестр Docker, содержащий образ фронтенда, недоступен или отсутствует, тогда необходимо скачать образ фронтенда из архивного файла, выполнив в командной строке команду: :: docker load -i /path/to/image.tar.gz Здесь: */path/to/image.tar.gz* Пример пути к архиву с образом фронтенда. Если реестр Docker, содержащий образ фронтенда, доступен, тогда для установки фронтенда нужно войти в реестр Docker, выполнив в командной строке команду: :: docker login registry.igtel.ru:6443 При входе необходимо ввести логин и пароль. После этого нужно скачать образ фронтенда из Docker, выполнив в командной строке команду: :: docker pull registry.igtel.ru:6443/sgate/ui:develop После того как образ скачан (из архивного файла или из реестра Docker), необходимо запустить контейнер, выполнив в командной строке команду в многострочном формате (после символа :: \ должен быть перенос строки без пробелов и других символов): :: docker run -d \ -p 3000:3000 --name=sgate_ui \ --env "BACKEND_HOST=backend.example.ru" \ --env "BACKEND_PORT=8081" \ registry.igtel.ru:6443/sgate/ui:develop Здесь: *-p 3000:3000* Указывается, какой порт на сервере (в примере это порт 3000) маппится на порт в контейнере (в контейнере всегда используется порт 3000). *name* Указывается название контейнера для использования его при обращении (вместо идентификатора). В примере это "sgate_ui". *BACKEND_HOST* Хост бэкенда в контейнере. *BACKEND_PORT* Порт бэкенда в контейнере.